草庐IT

c++ - 运算符 new() 和运算符 new[]() 之间的区别?

全部标签

c++ - 打包和指针别名,C 和 C++

unionvec{#pragmapack(push,1)struct{floatx,y,z;}#pragmapack(pop)floatvals[3];};考虑上面的定义。(除了C99中的匿名union)我想这个答案可能允许不同的答案,具体取决于编译器的选择、语言的选择和标准的选择。我相信我可以保证(通过#pragma编译器文档,而不是语言保证)sizeof(vec)==3*sizeof(float)因此,我相信我可以保证&vec.x==&vec.vals[0]等。但是,我不确定从v.x写入然后从v.vals[0]读取是否合法(也就是说,不允许通过严格的别名)>撇开包装不谈,我相信相关